#ifndef PIZZA_INGREDIENT_FACTORY_H
#define PIZZA_INGREDIENT_FACTORY_H

#include "Dough.h"
#include "Sauce.h"
#include "Cheese.h"
#include "Veggie.h"
#include "Pepperoni.h"
#include "Clam.h"

#include <vector>

class PizzaIngredientFactory{
public:
    virtual ~PizzaIngredientFactory() {};
    virtual Dough * createDough() = 0;
    virtual Sauce * createSauce() = 0;
    virtual Cheese * createCheese() = 0;
    virtual std::vector<Veggie *> createVeggies() = 0;
    virtual Pepperoni * createPepperoni() = 0;
    virtual Clam * createClam() = 0;
};

#endif